#include<iostream>
#include<unistd.h>

#define N 5

using namespace std;

// void show()
// {
//     cout << "I am show" << endl;
//     cout << "I am show" << endl;
//     cout << "I am show" << endl;
//     // exit(2);
//     _exit(3);
// }

// int main()
// {
//     while(true)
//     {
//         show();
//         cout << "I am a process: " << getpid() << endl;
//         sleep(1);
//     }

//     return 0;
// }

void run()
{
    //获取子进程pid
    int cnt = 10;
    while(cnt--)
    {
        cout << "I am child, cnt: "<< cnt <<", pid: " << getpid() << endl;
        sleep(1);
    }
}

int main()
{
    int i = 0;
    for(; i < N; i++)
    {
        pid_t id = fork();

        if(id == 0)
        {
            //child
            run();
            exit(0);
        }

        //获取父进程pid
        // cout << "I am father, pid: " << getpid() << endl;
        cout << "before pid: " << getpid() << endl;
        // sleep(1);
        fork();
        cout << "after pid: " << getpid() << endl;
    }
    return 0;
}